-
Notifications
You must be signed in to change notification settings - Fork 182
DOC-13422-Eventing-Memory-Quota #4055
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: release/8.0
Are you sure you want to change the base?
Conversation
| @@ -0,0 +1,168 @@ | |||
| = Eventing Memory Quota | |||
|
|
|||
| :description: The Eventing Service memory quota does not enforce a hard memory limit on the Eventing subsystem, including producer and worker processes. | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
including producer and worker processes
End-user / customer doesn't know what is the "producer" process.
Please go through this entire docs page and remove all mentions of "producer" processes.
Let's only keep using the term "worker processes" (or simply "workers") as the customer / end user is only aware about that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
|
||
| == Overview | ||
|
|
||
| The Couchbase Eventing Service memory quota does not enforce a hard memory limit on the entire Eventing subsystem, including producer and worker processes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
including producer and worker processes
Same comment as above on the use of "producer" process.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
|
||
| The memory quota serves 2 primary purposes: | ||
|
|
||
| * **Producer-to-worker queue sizing**: controls the maximum size of each worker's input queue. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Producer-to-worker queue sizing
Same comment as above on the use of "producer" process.
Just use "Worker queue sizing"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
|
||
| The per-worker quota directly influences 2 key aspects of Eventing runtime behavior. | ||
|
|
||
| === Producer-to-Worker Queue Sizing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Producer-to-Worker Queue Sizing
Same comment as above on the use of "producer" process.
Just use "Worker queue sizing"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
|
|
||
| === Producer-to-Worker Queue Sizing | ||
|
|
||
| Each worker has a bounded input queue that receives changes to documents from the Database Change Protocol (DCP) stream. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Each worker has a bounded input queue" -> "Each worker maintains a bounded input queue"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
|
||
| === Producer-to-Worker Queue Sizing | ||
|
|
||
| Each worker has a bounded input queue that receives changes to documents from the Database Change Protocol (DCP) stream. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Database Change Protocol (DCP) stream.
Let's not use the term "Database Change Protocol (DCP)". I don't see it mentioned anywhere in our official documentation.
Instead use a generic term like "Document Mutation stream".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do have a detailed section about DCP in our docs. So, as discussed, will provide reference links to that section, xref:server:learn:clusters-and-availability/intra-cluster-replication.adoc#database-change-protocol[DCP], from here.
| Each worker has a bounded input queue that receives changes to documents from the Database Change Protocol (DCP) stream. | ||
|
|
||
| * The per-worker quota determines the maximum size of this queue. | ||
| * When the queue exceeds this size, Eventing throttles the DCP stream to prevent unbounded memory growth. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eventing throttles the DCP
Same as above for "DCP".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have provided a link to DCP from this section.
|
|
||
| * GC frees memory occupied by unreachable objects that are no longer in use. | ||
| * GC reclaims memory only from objects that are no longer in use. | ||
| Memory held by live objects in the JSE heap remains allocated, so total usage may exceed the per-worker quota. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"JSE" -> "Javascript runtime" * all occurrences
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed it to JavaScript runtime
DOC-13422
Created and added a new document for Eventing Memory Quota and linked it from the Sizing Guidelines document. Also modified the Sizing Guidelines doc.
Docs preview for Sizing Guidelines
and
Docs preview for Eventing Memory Quota
Preview credentials